from django.contrib import admin
from . import models


class BookManager(admin.ModelAdmin):
    """书籍的模型管理器类,实现后台界面自定义显示内容(以列表形式展现), 需要与admin.site.register()方法进行绑定,详情见Django教程day05.md"""
    list_display = ['id', 'name', 'price', 'market_price', 'publisher', 'dates'] # 以列表形式展示以及展示的字段, 多对多外链, 'authors'
    search_fields = ['name'] # 显示搜索框,搜索的关键字段
    list_editable = ['market_price'] # 打开批量修改的字段
    list_display_links = ['id', 'name'] # 增加点击修改链接
    
class AuthorManager(admin.ModelAdmin):
    """作者的模型管理器类"""
    list_display = ['id', 'name', 'age', 'email', 'dates'] # 以列表形式展示以及展示的字段
    search_fields = ['name'] # 显示搜索框,搜索的关键字段
    list_editable = ['email', 'age'] # 打开批量修改的字段
    list_display_links = ['id', 'name']


class WifeManager(admin.ModelAdmin):
    """妻子模型管理器类"""
    list_display = ['id', 'name', 'age', 'phone', 'author', 'dates'] # 以列表形式展示以及展示的字段
    search_fields = ['name'] # 显示搜索框,搜索的关键字段
    list_editable = ['phone', 'age'] # 打开批量修改的字段
    list_display_links = ['id', 'name']
    
    
class PublisherManager(admin.ModelAdmin):
    """出版社模型管理器类"""
    list_display = ['id', 'pub', 'dates'] # 以列表形式展示以及展示的字段
    search_fields = ['pub'] # 显示搜索框,搜索的关键字段
    # list_editable = ['phone', 'age'] # 打开批量修改的字段
    list_display_links = ['id', 'pub']
    
# class HostRelations(admin.ModelAdmin):
#     """多对多模型管理器类"""
#     list_display = ['id', 'author_d', 'book_d', 'dates'] # 以列表形式展示以及展示的字段
#     search_fields = ['author_d', 'book_d'] # 显示搜索框,搜索的关键字段
#     # list_editable = ['phone', 'age'] # 打开批量修改的字段
#     list_display_links = ['id', 'author_d', 'book_d']
    
    
    
# Register your models here.
# 在admin下可以增加models下的类(表),方便后台图形化管理
admin.site.register(models.Book, BookManager)
admin.site.register(models.Author, AuthorManager)
admin.site.register(models.Wife, WifeManager)
admin.site.register(models.Publisher, PublisherManager)
# admin.site.register(models.HostRelation, HostRelations)

